跳到主要内容

openwrt开机自动启动

uci add_list sysinit.startup='/opt/soft/ddns/ddns-go'

uci commit
/etc/init.d/system restart



使用 /etc/rc.local
如果 OpenWrt 系统包含 /etc/rc.local 文件,你可以在该文件中添加启动命令:

编辑 /etc/rc.local:

vi /etc/rc.local
添加启动命令:在文件的末尾添加你的启动命令:

/path/to/your/myapp &
保存并退出:保存更改并退出编辑器。



使用 init 脚本
创建 init 脚本:在 /etc/init.d/ 目录下创建一个新的 init 脚本。例如,如果你的程序叫做 myapp,你可以创建一个名为 myapp 的脚本。

vim /etc/init.d/ddns-go
编写启动脚本:在脚本文件中,添加以下内容:


#!/bin/sh /etc/rc.common
START=95
STOP=10

boot() {
return 0
}

reload() {
return 0
}

restart() {
killall ddns-go
sleep 1 # give time to shutdown
/opt/soft/ddns/ddns-go &
}

start() {
/opt/soft/ddns/ddns-go &
}

stop() {
killall ddns-go
return 0
}


旧版

#!/bin/sh /bin/ash
### BEGIN INIT INFO
# Provides: myapp
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

case "$1" in
start)
echo "Starting ddns-go"
/opt/soft/ddns/ddns-go &
;;
stop)
echo "Stopping ddns-go"
# Add code to stop your app here
killall ddns-go
;;
restart)
$0 stop
$0 start
;;
status)
# Add code to check status of your app here
;;
*)
echo "Usage: /etc/init.d/ddns-go {start|stop|restart|status}"
exit 1
esac

exit 0
使脚本可执行:运行以下命令使脚本文件可执行:

chmod +x /etc/init.d/myapp
启用 init 脚本:使用以下命令启用脚本,以便在启动时自动运行:

/etc/init.d/myapp enable